package com.school.teaching.service;

import java.util.List;

import com.school.teaching.dto.UserQueryDTO;
import com.school.teaching.entity.User;
import com.school.teaching.page.IPage;


public interface IUserService {

    /**
     * 新增
     * @param user
     */
    void save(User user);
    /**
     * 批量新增
     * @param users
     * @return
     */
    void saveBatch(List<User> users);
    
    /**
     * 修改
     * @param User
     */
    void update(User user);
    
    /**
     * 根据ID删除
     * @param id
     */
    void deleteById(String id);
    
    /**
     * 多条件删除
     * @param user
     */
    void delete(User user);
    
    /**
     * 根据ID批量删除
     * @param id
     */
    void deleteByIds(List<String> ids);
    
    /**
     * 根据ID查找
     * @param id
     * @return
     */
    User getById(String id);
    
    /**
     * 根据account查找
     * @param account
     * @return
     */
    User getByAccount(String account);
    
    /**
     * 保存或修改
     * @param user
     */
    void saveOrUpdate(User user);
    
    /**
     * 查询分页
     * @param param
     * @return
     */
    IPage<User> query(UserQueryDTO param);
    
    /**
     * 查询全部
     * @param param
     * @return
     */
    List<User> queryAll(UserQueryDTO param);
}